e3327e62efa4cfec567bfa3d28111cc18eec44ae,src/test/java/plugins/TaskScannerPluginTest.java,TaskScannerPluginTest,should_run_on_failed_builds_if_configured,#,366

Before Change


     */
    @Test
    public void should_run_on_failed_builds_if_configured() throws Exception {
        FreeStyleJob job = createFreeStyleJob(new AnalysisConfigurator<TasksFreestyleSettings>() {
            @Override
            public void configure(TasksFreestyleSettings settings) {
                settings.setPattern("**/*.java");
                settings.setExcludePattern("**/*Test.java");
                settings.setHighPriorityTags("FIXME");
                settings.setIgnoreCase(true);
                settings.setCanRunOnFailed(false);
            }
        });

        job.configure();
        job.addShellStep("exit 1"); //ensures the FAILURE status of the main build
        job.save();

        Build build = buildFailingJob(job);

        // the task scanner activity shall be skipped due to the failed main build
        // so we have to search for the particular console output
        assertThatConsoleContains(build, ".*\\[TASKS\\] Skipping publisher since build result is FAILURE");

        // now activate "Run always"
        editJob(false, job, TasksFreestyleSettings.class, new AnalysisConfigurator<TasksFreestyleSettings>() {
            @Override
            public void configure(TasksFreestyleSettings settings) {
                settings.setCanRunOnFailed(true);
            }
        });

        build = buildFailingJob(job);

After Change


     */
    @Test
    public void should_run_on_failed_builds_if_configured() throws Exception {
        FreeStyleJob job = createFreeStyleJob(settings -> {
            settings.setPattern("**/*.java");
            settings.setExcludePattern("**/*Test.java");
            settings.setHighPriorityTags("FIXME");
            settings.setIgnoreCase(true);
            settings.setCanRunOnFailed(false);
        });

        job.configure();
        job.addShellStep("exit 1"); //ensures the FAILURE status of the main build
        job.save();

        Build build = buildFailingJob(job);

        // the task scanner activity shall be skipped due to the failed main build
        // so we have to search for the particular console output
        assertThatConsoleContains(build, ".*\\[TASKS\\] Skipping publisher since build result is FAILURE");

        // now activate "Run always"
        editJob(false, job, TasksFreestyleSettings.class,
                settings -> settings.setCanRunOnFailed(true));

        build = buildFailingJob(job);